package edu.cuit.avatar.demo;

import java.util.ArrayList;

/**
 * ArrayList对象可以存储对象列表
 *      数组一旦创建,大小就固定了.ArrayList可以存储不限定个数的对象(数组的扩容工作自动完成)
 *
 *      ArrayList()
 *      ArrayList(capacity: int)
 *      add(o:E): void  添加元素o到列表末尾
 *      add(index: int, o:E): void 添加元素o到指定的index索引位置
 *      clear() void: 清除列表中所有的元素
 *      size() int: 返回列表中元素个数
 *      contains(o: E) boolean: 如果列表中包含元素o，返回true
 *      get(index:int) E: 返回列表指定索引位置的元素
 *      indexOf(o: E) int: 返回元素o在列表中第一次出现的索引位置，如果元素不存在返回-1
 *      lastIndexOf(o:E) int:返回元素o在列表中最后一次出现的索引位置，如果元素不存在返回-1
 *      isEmpty() boolean: 列表为空，返回true
 *      remove(o: E) boolean: 从列表中删除元素o
 *      remove(index:int) E: 删除指定索引位置index处所在的元素，返回删除的元素
 *      set(index:int, o:E) E 设置指定索引位置的元素为o
 * @author <a href="mailto:1020zhaodan@163.com">Adan</a>
 * @version 1.0
 * @date 2025/7/10 9:37
 */
public class ArrayListDemo {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        ArrayList<String> list2 = new ArrayList<>(20);

        list.add(10);
        list2.add("Peppa");

        list.add(0, 0);
        list2.add(0, "Jorge");
        list2.add("Jorge"); //将Jorge添加到列表的末尾

        System.out.println(list.size()); //2
        System.out.println(list);

        System.out.println(list2.contains("Peppa")); //true
        System.out.println(list2.contains("Emily")); //false

        System.out.println(list.get(0)); //0

        System.out.println(list2.indexOf("Jorge")); //0
        System.out.println(list2.indexOf("Emily")); //-1

        System.out.println(list2.set(0, "Pedro"));

        System.out.println(list2);
    }
}
